#ifndef LISTA_PARAMETROS_H
#define LISTA_PARAMETROS_H

#define DEFAULT_NOMBRE_PACMAN_1 "Pablo"
#define DEFAULT_TEXTURA_A_PACMAN_1 "img/pacmans/1_1.bmp"
#define DEFAULT_TEXTURA_B_PACMAN_1 "img/pacmans/1_2.bmp"
#define DEFAULT_ALPHA_PACMAN_1 "#000000"

#define DEFAULT_NOMBRE_PACMAN_2 "Pepe"
#define DEFAULT_TEXTURA_A_PACMAN_2 "img/pacmans/2_1.bmp"
#define DEFAULT_TEXTURA_B_PACMAN_2 "img/pacmans/2_2.bmp"
#define DEFAULT_ALPHA_PACMAN_2 "#000000"

#define DEFAULT_MUSICA_INICIO "sonidos/dp_superpac_start.wav"
#define DEFAULT_MUSICA_JUEGO "sonidos/dp_superpac_wakka.wav"

#define DEFAULT_SOUND_CHOQUE_PACMAN "sonidos/bloop_x.wav"
#define DEFAULT_SOUND_CHOQUE_AMIGO "sonidos/click_x.wav"
#define DEFAULT_SOUND_CHOQUE_ENEMIGO "sonidos/dp_superpac_die.wav"
#define DEFAULT_SOUND_CHOQUE_BONUS_SIMPLE "sonidos/smw_coin.wav"
#define DEFAULT_SOUND_CHOQUE_BONUS_COMPLEJO "sonidos/smw_coin.wav"


#include <string>

using namespace std; 

class ListaParametros{

private:
	static bool instance ;
	static ListaParametros* singleton ;

	string *nombrePacman1, *nombrePacman2 ;

	string *texturaAPacman1, *texturaBPacman1, *alphaPacman1  ;
	string *texturaAPacman2, *texturaBPacman2, *alphaPacman2  ;
	
	string *musicaInicio, *musicaJuego;

	string *sonidoChoquePacman, *sonidoChoqueFantasmaPacmanAmigo;
	string *sonidoChoqueFantasmaPacmanEnemigo, *sonidoComeBonusSimple, *sonidoComeBonusComplejo; 

	ListaParametros();
public:

	static ListaParametros* getInstance();

	//Nombres pacmans
	string* getNombrePacman1();
	string* getNombrePacman2();
	void setNombrePacman1(string* s);
	void setNombrePacman2(string* s);
	void setNombrePacman1(const string& s);
	void setNombrePacman2(const string& s);


	// TEXTURAS DE PACMAN -----------------
	string* getTexturaAPacman1();
	string* getTexturaBPacman1();
	string* getAlphaPacman1();

	void setTexturaAPacman1(string* tA);
	void setTexturaBPacman1(string* tB);
	void setAlphaPacman1(string* a);

	void setTexturaAPacman1(const string& tA);
	void setTexturaBPacman1(const string& tB);
	void setAlphaPacman1(const string& a);

	string* getTexturaAPacman2();
	string* getTexturaBPacman2();
	string* getAlphaPacman2();

	void setTexturaAPacman2(string* tA);
	void setTexturaBPacman2(string* tB);
	void setAlphaPacman2(string* a);

	void setTexturaAPacman2(const string& tA);
	void setTexturaBPacman2(const string& tB);
	void setAlphaPacman2(const string& a);

	// ---------------------------------

	// SONIDOS ----------------------------
	string* getMusicaInicio();
	void setMusicaInicio(string* s);
	void setMusicaInicio(const string& s);
	
	string* getMusicaFondo();
	void setMusicaFondo(string* s);
	void setMusicaFondo(const string& s);
	
	string* getSonidoChoquePacman();
	void setSonidoChoquePacman(string* s);
	void setSonidoChoquePacman(const string& s);
		
	string* getSonidoChoqueFantasmaPacmanAmigo();
	void setSonidoChoqueFantasmaPacmanAmigo(string* s);
	void setSonidoChoqueFantasmaPacmanAmigo(const string& s);

	string* getSonidoChoqueFantasmaPacmanEnemigo();
	void setSonidoChoqueFantasmaPacmanEnemigo(string* s);
	void setSonidoChoqueFantasmaPacmanEnemigo(const string& s);

	string* getSonidoComeBonusSimple();
	void setSonidoComeBonusSimple(string* s);
	void setSonidoComeBonusSimple(const string& s);

	string* getSonidoComeBonusComplejo();
	void setSonidoComeBonusComplejo(string* s);
	void setSonidoComeBonusComplejo(const string& s);
	// ----------------------------------------------
	~ListaParametros();
	void destroy();

};


#endif 

